import {createRouter, createWebHistory} from 'vue-router'
import {useUserStore} from '@/stores'

const router = createRouter({
        //import.meta.env.BASE_URL vite中的环境变量 就是vite.config.js的base变量
        history: createWebHistory(import.meta.env.BASE_URL),// 默认前缀是 ‘/’
        routes: [
                {
                        path: '/login',
                        component: () => import('@/views/login/loginPage.vue')
                },
                {
                        path: '/',
                        redirect: '/article/cate',
                        component: () => import('@/views/layout/layoutContainer.vue'),
                        children: [
                                {
                                        path: '/article/cate',
                                        component: () => import('@/views/article/articleCate.vue')
                                },
                                {
                                        path: '/article/manage',
                                        component: () => import('@/views/article/articleManage.vue')
                                },
                                {
                                        path: '/user/avatar',
                                        component: () => import('@/views/user/avatar.vue')
                                },
                                {
                                        path: '/user/profile',
                                        component: () => import('@/views/user/profile.vue')
                                },
                                {
                                        path: '/user/password',
                                        component: () => import('@/views/user/password.vue')
                                },
                        ]
                },

        ]
})

// 路由守卫，默认情况是放行
// 根据返回值决定，是放行还是拦截
// 返回值：undefined / true  直接放行
// 返回值：false 拉姆囧form的地址页面
// 返回值：具体路径或者对象 拉姆街道对应的地址
router.beforeEach((to, from) => {
        const userStore = useUserStore()
        // 如果没有token，并且访问的是非登录页，拦截到登录，其他情况正常放行
        if (!userStore.token && to.path !== '/login') return '/login'
        return true  //不写也行  默认是放行
})
export default router
